package com.ruoyi.novel.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 小说对象 novel_novels
 * 
 * @author sjy
 * @date 2025-06-05
 */
public class Novels extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 小说id */
    private Long novelId;

    /** 小说名称 */
    @Excel(name = "小说名称")
    private String title;

    /** 小说封面 */
    @Excel(name = "小说封面")
    private String coverImage;

    /** 简介 */
    @Excel(name = "简介")
    private String description;

    /** 分类id */
    @Excel(name = "分类id")
    private Long categoryId;

    /** 小说状态 */
    @Excel(name = "小说状态")
    private String status;

    /** 字数 */
    @Excel(name = "字数")
    private Long wordCount;

    /** 阅读量 */
    @Excel(name = "阅读量")
    private Long viewCount;

    /** 喜欢人数 */
    @Excel(name = "喜欢人数")
    private Long likeCount;

    /** 评论数 */
    @Excel(name = "评论数")
    private Long commentCount;

    /** 积分 */
    @Excel(name = "积分")
    private Long collectCount;

    /** 作者id */
    @Excel(name = "作者id")
    private Long authorId;

    /** 笔名 */
    @Excel(name = "笔名")
    private String penName;

    /** 打赏/评论ID */
    private Long rewardId;

    /** 父评论ID，0表示顶级评论 */
    private Long parentId;

    /** 章节ID，用于标识评论属于哪个章节 */
    private Long chapterId;

    /** 评论内容 */
    private String message;

    /** 点赞数/金额 */
    private Integer amount;

    /** 用户ID */
    private Long userId;

    public void setNovelId(Long novelId) 
    {
        this.novelId = novelId;
    }

    public Long getNovelId() 
    {
        return novelId;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setCoverImage(String coverImage) 
    {
        this.coverImage = coverImage;
    }

    public String getCoverImage() 
    {
        return coverImage;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setWordCount(Long wordCount) 
    {
        this.wordCount = wordCount;
    }

    public Long getWordCount() 
    {
        return wordCount;
    }

    public void setViewCount(Long viewCount) 
    {
        this.viewCount = viewCount;
    }

    public Long getViewCount() 
    {
        return viewCount;
    }

    public void setLikeCount(Long likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Long getLikeCount() 
    {
        return likeCount;
    }

    public void setCommentCount(Long commentCount) 
    {
        this.commentCount = commentCount;
    }

    public Long getCommentCount() 
    {
        return commentCount;
    }

    public void setCollectCount(Long collectCount) 
    {
        this.collectCount = collectCount;
    }

    public Long getCollectCount() 
    {
        return collectCount;
    }

    public void setAuthorId(Long authorId) 
    {
        this.authorId = authorId;
    }

    public Long getAuthorId() 
    {
        return authorId;
    }

    public void setPenName(String penName) 
    {
        this.penName = penName;
    }

    public String getPenName() 
    {
        return penName;
    }

    public void setRewardId(Long rewardId) 
    {
        this.rewardId = rewardId;
    }

    public Long getRewardId() 
    {
        return rewardId;
    }

    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }

    public void setMessage(String message) 
    {
        this.message = message;
    }

    public String getMessage() 
    {
        return message;
    }

    public void setAmount(Integer amount) 
    {
        this.amount = amount;
    }

    public Integer getAmount() 
    {
        return amount;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setChapterId(Long chapterId) 
    {
        this.chapterId = chapterId;
    }

    public Long getChapterId() 
    {
        return chapterId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("novelId", getNovelId())
            .append("title", getTitle())
            .append("coverImage", getCoverImage())
            .append("description", getDescription())
            .append("categoryId", getCategoryId())
            .append("status", getStatus())
            .append("wordCount", getWordCount())
            .append("viewCount", getViewCount())
            .append("likeCount", getLikeCount())
            .append("commentCount", getCommentCount())
            .append("collectCount", getCollectCount())
            .append("authorId", getAuthorId())
            .append("penName", getPenName())
            .toString();
    }
}
